﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Infrastructure.Crosscutting.Authorize
{
    public interface IUserRoleService
    {
        Domain.Entity.UserRole Add(Domain.Entity.UserRole userRole, Domain.Entity.User operUser);

        #region delete

        bool Delete(Domain.Entity.UserRole userRole, Domain.Entity.User operUser);

        bool DeleteTrue(Domain.Entity.UserRole userRole, Domain.Entity.User operUser);

        bool Delete(IList<int> idList, Domain.Entity.User operUser);

        bool DeleteTrue(IList<int> idList, Domain.Entity.User operUser);

        #endregion

        bool Modify(Domain.Entity.UserRole userRole, Domain.Entity.User operUser);

        IQueryable<Domain.Entity.UserRole> GetList();

        IQueryable<Domain.Entity.UserRole> GetUserRoleByUserId(int userId);

        Domain.Entity.UserRole GetDefaultUserRole();

        IQueryable<Infrastructure.Crosscutting.Authorize.Dto.UserRoleDto> GetListDto();

        Infrastructure.Crosscutting.Authorize.Dto.UserRoleDto GetDto(int id);

        Domain.Entity.UserRole Get(int id);
    }
}
